package sjtu.rfid.rri.services.ale.writing;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.xml.bind.annotation.XmlRootElement;

import sjtu.rfid.rri.services.ale.reading.ECTrigger;

@XmlRootElement
public class CCReports implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 3540595432550964892L;

	private String specName;
	private Date date;
	private String ALEID;
	private long totalMilliseconds;
	private CCInitiationCondition initiationCondition;
	private ECTrigger initiationTrigger;
	private CCTerminationCondition terminationCondition;
	private ECTrigger terminationTrigger;
	private CCSpec CCSpec;
	private List<CCCmdReport> cmdReports;

	/**
	 * @return the specName
	 */
	public String getSpecName() {
		return specName;
	}

	/**
	 * @param specName
	 *            the specName to set
	 */
	public void setSpecName(String specName) {
		this.specName = specName;
	}

	/**
	 * @return the date
	 */
	public Date getDate() {
		return date;
	}

	/**
	 * @param date
	 *            the date to set
	 */
	public void setDate(Date date) {
		this.date = date;
	}

	/**
	 * @return the aLEID
	 */
	public String getALEID() {
		return ALEID;
	}

	/**
	 * @param aleid
	 *            the aLEID to set
	 */
	public void setALEID(String aleid) {
		ALEID = aleid;
	}

	/**
	 * @return the totalMilliseconds
	 */
	public long getTotalMilliseconds() {
		return totalMilliseconds;
	}

	/**
	 * @param totalMilliseconds
	 *            the totalMilliseconds to set
	 */
	public void setTotalMilliseconds(long totalMilliseconds) {
		this.totalMilliseconds = totalMilliseconds;
	}

	/**
	 * @return the initiationCondition
	 */
	public CCInitiationCondition getInitiationCondition() {
		return initiationCondition;
	}

	/**
	 * @param initiationCondition
	 *            the initiationCondition to set
	 */
	public void setInitiationCondition(CCInitiationCondition initiationCondition) {
		this.initiationCondition = initiationCondition;
	}

	/**
	 * @return the initiationTrigger
	 */
	public ECTrigger getInitiationTrigger() {
		return initiationTrigger;
	}

	/**
	 * @param initiationTrigger
	 *            the initiationTrigger to set
	 */
	public void setInitiationTrigger(ECTrigger initiationTrigger) {
		this.initiationTrigger = initiationTrigger;
	}

	/**
	 * @return the terminationCondition
	 */
	public CCTerminationCondition getTerminationCondition() {
		return terminationCondition;
	}

	/**
	 * @param terminationCondition
	 *            the terminationCondition to set
	 */
	public void setTerminationCondition(
			CCTerminationCondition terminationCondition) {
		this.terminationCondition = terminationCondition;
	}

	/**
	 * @return the terminationTrigger
	 */
	public ECTrigger getTerminationTrigger() {
		return terminationTrigger;
	}

	/**
	 * @param terminationTrigger
	 *            the terminationTrigger to set
	 */
	public void setTerminationTrigger(ECTrigger terminationTrigger) {
		this.terminationTrigger = terminationTrigger;
	}

	/**
	 * @return the cCSpec
	 */
	public CCSpec getCCSpec() {
		return CCSpec;
	}

	/**
	 * @param spec
	 *            the cCSpec to set
	 */
	public void setCCSpec(CCSpec spec) {
		CCSpec = spec;
	}

	/**
	 * @return the cmdReports
	 */
	public List<CCCmdReport> getCmdReports() {
		return cmdReports;
	}

	/**
	 * @param cmdReports
	 *            the cmdReports to set
	 */
	public void setCmdReports(List<CCCmdReport> cmdReports) {
		this.cmdReports = cmdReports;
	}

}
